/* PPAGES ~ www.centerkey.com/ppages ~ Copyright (c) individual contributors        */
/* Rights granted under GNU General Public License ~ ppages/src/gallery/license.txt */

/* Reset */
* { font-family: inherit; font-size: 100%; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
html { overflow: -moz-scrollbars-vertical; }
body, h1, h2, h3, h5, h5, p { padding: 0px; margin: 0px; }
p { margin-bottom: 0.8em; }
img { border: none; }
ul, ol { font-size: 90%; margin-top: 2px; }
table { border-collapse: collapse; border-spacing: 0px; }
td { vertical-align: top; }
th, td { padding: 2px 10px; }
fieldset { border: 1px solid silver; }
legend { border: 1px solid silver; padding: 0em 0.5em; }
button { white-space: nowrap; font-size: 85%; padding-left: 8px; padding-right: 8px; }
button, input[type=checkbox], input[type=radio], input[type=file], select { cursor: pointer; }
*:disabled { cursor: default; }
hr { border: none; border-top: 1px solid silver; }

/* Plus some simple baseline styling */
body { color: dimgray; font-family: geneva, tahoma, sans-serif; font-size: 90%; margin: 20px 50px; }
h1 { font-size: 160%; }
h2 { font-size: 140%; }
h3 { font-size: 120%; }
h1.distinct { font-size: 240%; }
a { text-decoration: none; color: dimgray; border-bottom: 1px dotted steelblue; }
a:visited { color: darkgray; }
a:hover { color: white; background-color: steelblue; outline: 2px solid steelblue; }
a.plain, .plain a { color: dimgray; border: none; }
a.plain:hover, .plain a:hover { color: dimgray; background-color: transparent; outline: none; }
.box-caption { text-align: center; font-size: 90%; font-weight: bold; }
table.data-box { background-color: aliceblue; border: 3px solid gainsboro; margin: 2px auto; }
table.data-box tr:nth-child(odd) { background-color: mintcream; }
table.data-box tr:nth-child(1) { background-color: gainsboro; }
table.data-box tr:nth-child(n+2):hover { background-color: ghostwhite; }
.rounded { border-radius: 5px; }
fieldset { border-radius: 5px; }
input, textarea { font-size: 110%; background-color: mintcream; border: 1px solid silver; border-radius: 5px; padding: 0.3em; }
select { font-size: 110%; }
label { display: block; margin-bottom: 0.5em; }
label span { display: inline-block; width: 100px; vertical-align: top; text-align: right; padding-top: 0.5em; }
.sans-label { margin-left: 105px; }
label select { margin: 0.4em 0em 0em 0.2em; }
label input[type=radio] { margin: 0.6em 0.3em 0.8em 0.3em; }
label input[type=checkbox] { margin: 0.6em 0.0em 0.4em 0.3em; }
.input-group-down > label { display: inline-block; vertical-align: top; }
.input-group-down div.input-group { display: inline-block; margin: 0.4em 0em 0.8em 0em; }
div.input-group label { margin: 0.1em 0em 0em 0em; }
.input-group-across > label { vertical-align: top; }
.input-group-across label { display: inline-block; }
.input-group-across div.input-group { display: inline-block; margin-bottom: 0.4em; }
.perfect .note a { background-color: transparent; outline: none; }

/* And a few basic tools */
.small          { font-size: smaller; }
.large          { font-size: larger; }
.align-left     { text-align: left; }
.align-right    { text-align: right; }
.align-centered { text-align: center; }
.middle         { margin-left: auto; margin-right: auto; }
.column         { display: inline-block; float: left; }
.push-left      { float: left; margin: 0px 10px 5px 0px; }
.push-right     { float: right; margin: 0px 0px 5px 10px; }
.leapfrog       { clear: both; }
.indent         { margin-left: 40px; }
.space-left     { padding-left: 10px; }
.space-left-2x  { padding-left: 20px; }
.space-right    { padding-right: 10px; }
.space-right-2x { padding-right: 20px; }
.space-above    { margin-top: 10px; }
.space-above-2x { margin-top: 20px; }
.space-above-3x { margin-top: 30px; }
.space-above-4x { margin-top: 40px; }
.space-below-half { margin-bottom: 5px; }
.space-below    { margin-bottom: 10px; }
.space-below-2x { margin-bottom: 20px; }
.space-below-3x { margin-bottom: 30px; }
.space-below-4x { margin-bottom: 40px; }
.advisory       { color: darkred; }
.dim-out        { color: darkgray; }
.keep-together  { white-space: nowrap; }

/* Social buttons */
#social-buttons a { margin-left: 10px; }
#social-buttons img { height: 26px; width: 26px; border: 1px solid gainsboro; border-radius: 5px; }
#social-buttons img:hover { border-color: white; box-shadow: 0px 0px 1em dodgerblue; }
#social-buttons #___plusone_0 { vertical-align: top !important; width: 80px !important; }

/* PERFECT style */
.perfect { display: table; background-color: whitesmoke; color: dimgray;
   border: 1px solid darkseagreen; margin: 3px auto; }
.perfect h1 { text-align: center; background-color: darkseagreen; color: white;
   font-size: 110%; padding: 4px; margin: 0px 0px 20px 0px; }
.perfect label { display: block; }
.perfect label span { display: inline-block; width: 100px; vertical-align: top;
   text-align: right; padding-top: 0.5em; }
.perfect input, .perfect textarea { margin-right: 30px; background-color: mintcream; }
.perfect button { font-size: 80%; }
.perfect p { margin-left: 105px; }
.perfect .note { text-align: right; font-size: 70%; margin: -15px 5px 5px 0px;
    color: gray; }
.perfect .note a { color: gray; text-decoration: none; border: none; }
